Current operating systems for mobile devices, such as the iOS operating system available from Apple, Inc. typically do not include functionality for applications to communicate among each other. This limitation may be included within the operating system to improve stability and/or limit access to certain private information associated with particular applications executing on a mobile device. It is known in the art that applications may utilize hacks and/or flaws in the mobile device's operating system to achieve inter-application communication; however, these workarounds are not supported by the operating system and may cause undesirable effects on a mobile device. Further, certain workarounds may violate the terms of use of the operating system and/or the privacy policies of the operating system vendor.
One example of an environment where inter-application communication is desirous is in the field of determining whether an action or other event that was begun by a first application has been completed by a second application. For example, assume that the user is viewing tweets in a first application, such as the Twitter application (available from Twitter, Inc. of San Francisco, Calif.) executing on a mobile device, such as an iPhone. One of the tweets may include a hyperlink to a video viewable in a third party viewer. If the user clicks on the link, the Twitter application displays an information screen indicating that the viewer is not installed on the mobile device and asks if the user would like to install the viewer. If the user indicates that he desires to install the viewer, the twitter application will, e.g., launch the Apple App Store to enable the user to download and install the second application. However, the first application does not receive feedback as to whether the user has followed through to install the second application. Whether the user simply closes the App Store or actually downloads and installs the second application remains unknown to the first application.